Integração manual com o servidor de e-mail Exim

Se, durante a configuração inicial do aplicativo, você ignorar a integração automática do aplicativo com o servidor de e-mail, deverá integrar o KSMG com o servidor de e-mail manualmente.

Você pode configurar manualmente a integração antes da fila do KSMG com o servidor de e-mail Exim usando uma biblioteca vinculada dinamicamente (dlfunc). Com a integração antes da fila, o KSMG verifica as mensagens antes que elas acabem na fila do servidor de e-mail Exim. A integração pós-fila não é compatível.

Dependendo da distribuição específica do sistema operacional, você deve modificar um ou vários arquivos de configuração do servidor de e-mail Exim:

Para executar a integração antes da fila do KSMG com o Exim:

  1. Certifique-se de que o servidor de e-mail Exim é compatível com as funções da biblioteca dlfunc vinculada dinamicamente. Para isso, execute o seguinte comando:

    exim -bV

    O servidor de e-mail Exim é compatível com a biblioteca dlfunc carregada dinamicamente se a seção Compatível com contiver a linha Expand_dlfunc.

  2. Faça uma cópia de Backup dos arquivos de configuração do Exim.
  3. Modifique a lista de controle de acesso para acl_smtp_data. Para isso, localize no(s) arquivo(s) de configuração do Exim a linha que se parece com:

    acl_smtp_data = acl_check_data (uma variável ou macro diferente pode ser usada no lugar de acl_check_data)

    e depois da linha

    acl_check_data: (ou uma string contendo uma variável ou macro diferente)

    adicione as seguintes linhas:

    # Manually added block ksmg-exim-filter-dflunc begin

    warn set acl_m_ksmg_input_directory = ${spool_directory}/input

      set acl_m_ksmg_lookup_result = ${lookup {$message_id-D} dsearch {$acl_m_ksmg_input_directory}}

    warn condition = ${if eq {$acl_m_ksmg_lookup_result}{}{yes}{no}}

      set acl_m_ksmg_input_directory = ${spool_directory}/input/${substr{5}{1}{$message_id}}

    warn set acl_m_ksmg_answer = ${dlfunc{DLFUNC_LIBRARY_FULLPATH}{scan}{$acl_m_ksmg_input_directory}}

    defer condition = ${if match {$acl_m_ksmg_answer}{^[245]}{no}{yes}}

      log_message = KSMG check failed, unexpected answer: $acl_m_ksmg_answer

    defer condition = ${if match {$acl_m_ksmg_answer}{^4}{yes}{no}}

      log_message = KSMG check defer: $acl_m_ksmg_answer

    deny condition = ${if match {$acl_m_ksmg_answer}{^5}{yes}{no}}

      log_message = KSMG check reject: $acl_m_ksmg_answer

      message = This message is blocked due to security reason

    warn condition = ${if match {$acl_m_ksmg_answer}{^2}{yes}{no}}

      logwrite = KSMG check accept: $acl_m_ksmg_answer

    # Manually added block ksmg-exim-filter-dlfunc ends here

    onde DLFUNC_LIBRARY_FULLPATH é o caminho para a biblioteca dlfunc. O caminho para a biblioteca depende da versão do Exim e pode ter esta aparência:

    • Para a versão Exim de 4.86 a 4.90 não incluída — /opt/kaspersky/ksmg/lib/libklms-exim-abi20-1.so
    • Para a versão Exim de 4.90 a 4.93 não incluída — /opt/kaspersky/ksmg/lib/libklms-exim-abi20-2.so
    • Para a versão Exim de 4.93 a 4.94 não incluída — /opt/kaspersky/ksmg/lib/libklms-exim-abi31.so
    • Para a versão Exim de 4.94 a 4.96 não incluída — /opt/kaspersky/ksmg/lib/libklms-exim-abi41.so
    • para Exim a partir da versão 4.96 e posterior — /opt/kaspersky/ksmg/lib/libklms-exim-abi60.so
  4. Se necessário, após terminar de editar o arquivo de configuração, você poderá gerar novamente o arquivo de configuração principal do Exim.
  5. Adicione o usuário kluser ao grupo que inclui o usuário que inicia o processo de exim.

    Por padrão, esse grupo é denominado 'exim' no Red Hat Enterprise Linux e Rocky Linux, e 'Debian-exim' no Ubuntu.

  6. Adicione o usuário que inicia o processo exim aos grupos klusers e kl_var_users.

    Por padrão, o nome de usuário é 'exim' no Red Hat Enterprise Linux e Rocky Linux e 'Debian-exim' no Ubuntu.

  7. No arquivo de configurações do filtro /etc/opt/kaspersky/ksmg/filters.conf, na seção [global], defina os seguintes valores de parâmetro:

    scanner=unix:/var/run/ksmg/klms_scanner_sock

    header-guard=false

    • Se PrivateTmp estiver configurado como false ou não for especificado no arquivo Exim Unit:

      workdir=/tmp

    • Se PrivateTmp estiver definido como true no arquivo Exim Unit:

      workdir=/var/opt/kaspersky/ksmg/tmp

  8. No arquivo /var/opt/kaspersky/ksmg/installer.dat, defina os seguintes valores de parâmetro:

    MTA_INTEGRATION_METHOD=dlfunc

    MTA_INTEGRATION_MODE=prequeue

    filter_workdir=<valor do parâmetro 'workdir' da etapa 7>

    mta=manual

    START_SMTP_PROXY=0

    START_MILTER=0

  9. Reinicie o serviço ksmg.
  10. Reinicie o servidor de e-mail Exim.

A integração com o Exim está concluída.

Topo da página